// createStore来创建vuex实例

import { createStore, createLogger } from 'vuex'
// 导入子组件
import user from './modules/user'
import cart from './modules/cart'
// 第三方插件(持久化保存)
import createPersistedstate from 'vuex-persistedstate'
// import * as Cookies from 'js-cookie'

export default createStore({
  state: {
  },
  mutations: {
  },
  actions: {
  },
  modules: {
    user,
    cart
  },
  // 处理插件的配置项
  plugins: [
    // 第三方插件中的方法 用于持久化保存
    createPersistedstate({
      // 修改储存地方cookies
      // storage: {
      //   // 刷新的时候 会自动从本地获取 定义如何从本地获取
      //   getItem: (key) => Cookies.get(key),
      //   // 当我们修改state数据后 往本地存数据 定义存的方法
      //   setItem: (key, value) =>
      //     Cookies.set(key, value, { expires: 3, secure: true }),
      //   removeItem: (key) => Cookies.remove(key)
      // },
      key: 'erabbit-client-pc-store',
      paths: ['user', 'cart'] // 需要持久化保存数据的模块
    }),
    createLogger()
  ]
})
